package cn.intellijboy.gradle.plugin.extension;

import org.gradle.api.provider.ListProperty;
import org.gradle.api.provider.Property;

/**
 * 可配置扩展：
 * - 是否下载 IDEA 源码与 Javadoc
 * - Java 编译兼容版本（Toolchain 语言版本、source/targetCompatibility）
 * - 插件仓库地址（pluginManagement.repositories）
 * - 依赖仓库地址（project.repositories）
 *
 * 若用户不配置，则按国内镜像默认值生效；mavenLocal/gradlePluginPortal/mavenCentral 兜底。
 */
public abstract class GradleSettingExtension {

    // IDEA 源码/文档下载
    public abstract Property<Boolean> getDownloadIdeaSources();
    public abstract Property<Boolean> getDownloadIdeaJavadoc();

    // Java 语言版本（例如 17、21）
    public abstract Property<Integer> getJavaLanguageVersion();

    // 插件仓库列表（可选自定义，按顺序优先）
    public abstract ListProperty<String> getPluginRepositories();

    // 依赖仓库列表（可选自定义，按顺序优先）
    public abstract ListProperty<String> getMavenRepositories();
}


